package cn.iocoder.yudao.module.im.dal.dataobject;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 消息表 DO
 *
 * @author 芋道源码
 */
@TableName("im_message")
@Data
public class ImMessageDO {

    /**
     * 消息ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 星球ID
     */
    private Long planetId;

    /**
     * 会话ID
     */
    private Long conversationId;

    /**
     * 发送者ID
     */
    private Long senderId;

    /**
     * 接收者ID（单聊时使用）
     */
    private Long receiverId;

    /**
     * 群组ID（群聊时使用）
     */
    private Long groupId;

    /**
     * 消息类型：1-文本，2-语音，3-图片，4-视频，5-文件，6-表情，7-动态表情
     */
    private Integer messageType;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 媒体文件URL
     */
    private String mediaUrl;

    /**
     * 媒体文件大小
     */
    private Long mediaSize;

    /**
     * 媒体时长（秒）
     */
    private Integer mediaDuration;

    /**
     * 消息状态：1-正常，2-已撤回，3-已删除
     */
    private Integer status;

    /**
     * 发送时间
     */
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;

    /**
     * 创建者
     */
    private String creator;

    /**
     * 更新者
     */
    private String updater;

    /**
     * 是否删除
     */
    private Boolean deleted;

    /**
     * 租户编号
     */
    private Long tenantId;

}